home *** CD-ROM | disk | FTP | other *** search
- unit HVTimeKeeper2;
-
- interface
-
- uses
- HVSingleton;
-
- type
- TTimeKeeper = class(TSingleton)
- private
- function GetTime: TDateTime;
- function GetDate: TDateTime;
- function GetNow: TDateTime;
- public
- class function Instance: TTimeKeeper;
- property Time: TDateTime read GetTime;
- property Date: TDateTime read GetDate;
- property Now: TDateTime read GetNow;
- end;
-
- function TimeKeeper: TTimeKeeper;
-
- implementation
-
- uses
- SysUtils;
-
- { TTimeKeeper }
-
- var
- TimeKeeperHandle: TSingletonHandle;
-
- class function TTimeKeeper.Instance: TTimeKeeper;
- // Single Instance function - create when first needed
- begin
- Result := TTimeKeeper(InstanceOf(TimeKeeperHandle));
- end;
-
- // Property access methods
- function TTimeKeeper.GetDate: TDateTime;
- begin
- Result := SysUtils.Date;
- end;
-
- function TTimeKeeper.GetNow: TDateTime;
- begin
- Result := SysUtils.Now;
- end;
-
- function TTimeKeeper.GetTime: TDateTime;
- begin
- Result := SysUtils.Time;
- end;
-
- // Simplified functional interface
-
- function TimeKeeper: TTimeKeeper;
- begin
- Result := TTimeKeeper.Instance;
- end;
-
- initialization
- TimeKeeperHandle := TTimeKeeper.RegisterSingletonClass(TTimeKeeper);
- end.
-